Music synthesis using digital signal processing techniques is well known. Many commercially available music synthesizers utilize electronic circuitry performing numerical operations on digital signals to generate music and other acoustic signals. For instance, many "electronic keyboards" work this way.
Typically, such music synthesizers have a keyboard, a number of buttons for selecting various options, and perhaps a number of sliders and/or wheels for controlling various parameters of the synthesizer. While the synthesizer's various control parameters are accessible via these input devices, typically only a very small number (e.g., one or two) of control parameters are affected by each key press on the keyboard. In particular, each key press generates a MIDI note-on event that sends a note and velocity data pair to the synthesizer. When the key is released, a MIDI note-off event is generated. Note, however, that the prior art music synthesizers do not give the user a practical way to continuously modify more than a couple of the synthesizer parameters. That is, the user's access to parameters other than pitch and amplitude is severely limited by the number of sliders and buttons the user can simultaneously manipulate while also performing whatever actions are needed to "play notes" or otherwise control the pitch and amplitude of the voices being generated by the synthesizer.
Future generations of music synthesizers are likely to have even more user controllable control parameters than current synthesizers, in part to accommodate increasing complex music synthesis models. This raises the issue as to how users will be able to effectively utilize such music synthesizers, since current technology does not provide any simple, intuitive techniques for updating large numbers of control parameters. Rather, current technology tends to set most of these parameters just once, when a particular "instrument model" is chosen, and then transmits values for a relatively small number of control signals while the instrument is actually being played. While the user might be able to change the instrument model selection while playing, the user is not given control over individual ones of most of the control parameters, and it is also not practical to change the instrument model selection numerous times per second in the same way that numerous notes can be played in a short period of time. There are only so many dials, sliders, pitch wheels, foot pedals and the like that a user can effectively utilize while also playing notes. Thus, music synthesizers having numerous control parameters can be described as being "signal-hungry." Current technologies are providing users with very limited access to music synthesizer control parameters, whereas the music synthesizers could easily handle a much higher volume of control parameter updates.
The inventors of the present invention have discovered that new and pleasing musical sounds can be generated by simultaneously and continuously updating many of a music synthesizer's control parameters, especially when those control parameters are made responsive to a user's physical gestures. It is therefore a primary goal of the present invention to provide an apparatus that makes it easy for users to simultaneously and continuously modify many of a music synthesizer's control parameters.
Another object of the present invention is to circumvent the limitations of MIDI note-on and note-off events, so as to generate more continuously varying musical sounds. A related object of the present invention is to give the music synthesizer user direct control over the attack and release of each note. More specifically, it is a goal of the present invention to provide a mechanism for varying pitch and amplitude of one or more voices without having to generate corresponding MIDI note-on and note-off events and without having the music synthesizer impose attack and note-off envelopes on the amplitude of the notes being played.